package br.edu.unipampa.rpii;

/**
 *
 * Esta classe contém o método main
 *
 * @author Alex Malmann Becker
 * @since 18/11/2012
 * @version 1.0
 *
 */
public class Main {

    /**
     *
     * Método principal - Main
     *
     * @param args
     *
     */
    public static void main(String[] args) {

        /**
         * Inicializa recursos
         */
        Cantil cantil1 = new Cantil();
        Cantil cantil2 = new Cantil();
        Adaga adaga = new Adaga();
        Comida comida = new Comida();
        Mapa mapa = new Mapa();

        /**
         * inicializa Personagem Mensageiro
         */
        Personagem mensageiro = new Personagem();
        mensageiro.setNome("Mensageiro");
        mensageiro.setMensagem("Mensagem confidencial para o Presidente!");
        mensageiro.setCantil1(cantil1);
        mensageiro.setCantil2(cantil2);
        mensageiro.setAdaga(adaga);
        mensageiro.setComida(comida);
        mensageiro.setMapa(mapa);

        /**
         * Inicializa Charco e Deserto
         */
        Charco charco = new Charco();
        charco.setNomeLocal("Estrada do Charco");
        Deserto deserto = new Deserto();
        deserto.setNomeLocal("Travessia do Deserto");

        /**
         * Inicializa Narrativa
         */
        Narrativa narrativa = new Narrativa(mensageiro, charco, deserto);
        charco.setNarrativa(narrativa);
        deserto.setNarrativa(narrativa);

        /**
         * Começa o Jogo
         */
        narrativa.comecarJogo();

        // Escolher caminho
        if (narrativa.escolherCaminho() == 1) {
            /**
             * TRAVESSIA DO DESERTO
             */
            narrativa.getPersonagem().setPosicaoAtual(1.0);

            narrativa.getDeserto().seguirCaminho();
        } else {
            /**
             * ESTRADA DO CHARCO
             */
            narrativa.getPersonagem().setPosicaoAtual(2.0);

            /**
             * Escolher Passagem
             */
            String passagemEscolhida = narrativa.escolherPassagem();

            if ("Norte".equalsIgnoreCase(passagemEscolhida)) {
                narrativa.getCharco().passagemNorte();
            } else {
                if ("Sul".equalsIgnoreCase(passagemEscolhida)) {
                    narrativa.getCharco().passagemSul();
                } else {
                    narrativa.objetivoNaoAlcancado();
                }
            }
        }

    }
}